const Koa = require("koa");
const Router = require("koa-router");
const koaviews = require("koa-views");
const koaBody = require("koa-body")
const koastatic = require("koa-static");
const jwt = require("jsonwebtoken");
const koajwt = require("koa-jwt");  //校验token是否正确
let data = require("./data.json");
const app = new Koa();
let router = new Router();
app.use(koaBody());
router.post("/getdata",async ctx=>{
     let info = {}
     if(ctx.request.body.username=="张三"&&ctx.request.body.pwd=="123"){
        info.status=1;//成功就返回这个
        info.data="登录成功"; 
        let token = jwt.sign({//此步骤签发一个token返还给前端
           name:"这里是名字参数"
        },"my_token",{expiresIn:"2h"})//expiresIn过期时间
     //"my_token"是密文密码 很重要
        info.token=token//返还token数据
        /*eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9. 描述头信息 加密属性 
        eyJuYW1lIjoi5ZCN5a2X5Y-C5pWwIiwiaWF0IjoxNjUzNjUzODkyLCJleHAiOjE2NTM2NjEwOTJ9.参数转码
        hXd_0p3R8LHcCY5p4bGzXe5gKFKINv4QNQpIqiRegRE密钥*/ 
     }else{
        info.status=0;//失败就返回这个
        info.data="用户名或者密码不存在"; 
     }
     ctx.body=info;//发送过来的数据用ctx.request.body接受
     //再用ctx.body返还
     // console.log(ctx.request.body);
  });
  router.get("/getnews", async ctx=>{
   //koajwt({secret:"my_token"})这里装入koa-jwt后用于解密token然后校验是否和签发出去的token一致
   ctx.body=data
})
  router.get("/getcart",koajwt({secret:"my_token"}), async ctx=>{
     //koajwt({secret:"my_token"})这里装入koa-jwt后用于解密token然后校验是否和签发出去的token一致
     ctx.body=data
  })
  router.get("/getnew",koajwt({secret:"my_token"}), async ctx=>{
   //koajwt({secret:"my_token"})这里装入koa-jwt后用于解密token然后校验是否和签发出去的token一致
   
   let newdata = JSON.parse(JSON.stringify(data)).splice(0,4)
   ctx.body=newdata
   // console.log(data);getone
})
router.get("/getone",koajwt({secret:"my_token"}), async ctx=>{
   let id =ctx.query.id
   let newdata=data.filter(item=>item.id==id)
   //koajwt({secret:"my_token"})这里装入koa-jwt后用于解密token然后校验是否和签发出去的token一致
   // console.log(newdata);
   ctx.body=newdata
})
router.get("/getpage",koajwt({secret:"my_token"}), async ctx=>{
   let p =ctx.query.p
   if(p){
      let newdata =JSON.parse(JSON.stringify(data)).splice((p-1)*4,4)
      console.log(newdata);
      ctx.body=newdata
   }
})
  router.all("/addnew",async ctx=>{
     console.log(ctx);
     ctx.body = {info:111}
  })
// let db = mongoose.connect("mongdb://127.0.0.1:27017/login/login", function (err) {
//     if (err) {
//         return console.log(err);
//     }
//     console.log("链接成功");
// })
app.use(koaviews(__dirname+"/views"))
app.use(koastatic(__dirname+"/static"))
router.get("/data", ctx=>{
     ctx.body=data
})
app.use(router.routes());
app.listen(8585);
